home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / pluginy Firefox / 8381 / 8381.xpi / chrome / content / common / toolbar-button-init.js < prev   
Text File  |  2010-02-02  |  2KB  |  83 lines

  1. // FIXME:geech:2009-03-10 - this could use some comments
  2.  
  3. // init
  4.  
  5. //dump("Loading toolbar code...");
  6.  
  7. var evernote_preference3 = "evernote.webclipper3.1.button.initialized";
  8.  
  9. function evernote_initEnClipperButton3() {
  10.   
  11.     var prefs = Components.classes["@mozilla.org/preferences;1"].getService(Components.interfaces.nsIPrefService);
  12.     var db = prefs.getBranch(null);
  13.     try {
  14.         if (db.getBoolPref(evernote_preference3)) return;
  15.     }
  16.     catch(e) {
  17.     }
  18.   
  19.     var buttonId = "webclipper3-button";
  20.     var afterId;
  21.     var toolbarId;
  22.   
  23.     // check toolbar
  24.     
  25.     toolbarId = "nav-bar";    
  26.     var tb = document.getElementById(toolbarId);
  27.     if (tb) {
  28.         afterId = "home-button";
  29.     } else {
  30.         toolbarId = "mail-bar";
  31.         tb = document.getElementById(toolbarId);
  32.         if (tb) {
  33.             afterId = "button-stop";
  34.         } else {
  35.             toolbarId = "composeToolbar";
  36.             tb = document.getElementById(toolbarId);
  37.             if (tb) {
  38.                 afterId = "button-save";
  39.             } else {
  40.                 return;
  41.             }
  42.         }
  43.     }
  44.   
  45.     // check button
  46.   
  47.     var currentSet = tb.getAttribute(tb.hasAttribute("currentset") ? "currentset" : "defaultset");
  48.     if (!currentSet) return;
  49.     db.setBoolPref(evernote_preference3, true);
  50.     var ids = currentSet.split(",");
  51.     var len = ids.length;
  52.     var j = -1;
  53.     for (var i = 0; i < len; i++) {
  54.         if (ids[i] == buttonId) return;
  55.         if (ids[i] == afterId) j = i;
  56.     }
  57.   
  58.     // not found - add
  59.   
  60.     var newSet;
  61.     if (j == -1) {
  62.         newSet =  currentSet + "," + buttonId;
  63.     } else {
  64.         var k = 0;
  65.         for (var n = 0; n <= j ; n++) {
  66.             k = currentSet.indexOf(",", k) + 1;
  67.         }
  68.         newSet =  currentSet.slice(0, k) + buttonId + "," + currentSet.slice(k);
  69.     }
  70.     tb.setAttribute("currentset", newSet);
  71.     tb.currentSet = newSet;
  72.     document.persist(toolbarId, "currentset");
  73.   
  74.     // see http://developer.mozilla.org/en/docs/Code_snippets:Toolbar
  75.     try {
  76.         BrowserToolboxCustomizeDone(true);
  77.     }
  78.     catch (e) { }
  79. }
  80.  
  81. window.addEventListener("load", evernote_initEnClipperButton3, false);
  82.  
  83.